package tienda.negocio;


import java.util.Collection;

import tienda.dao.CategoriaDAO;
import tienda.exception.DAOExcepcion;
import tienda.modelo.Categoria;

public class GestionarCategoria {

	public boolean insertar(String nombre, String descripcion, int idCategoriaPadre) throws Exception{
		
		if(nombre.equals("")){
			throw new Exception("categoria vacia");
			
		}
		
		boolean saved = false;
		boolean exists = false;
		try{
			Collection<Categoria> categorias = listar();
			for(Categoria categoria: categorias){
						
				if(categoria.getIdCategoriaPadre()==idCategoriaPadre){
					if(categoria.getNombre().equals(nombre)){
						exists = true;
						throw new Exception("categoria existe");
	
					}
				}
			}
			if(exists) return false;
			
			CategoriaDAO dao = new CategoriaDAO();
			Categoria objCategoria = new Categoria();

			objCategoria.setDescripcion(descripcion);
			objCategoria.setNombre(nombre);
			objCategoria.setIdCategoria(idCategoriaPadre);
			dao.insertar(objCategoria);
			saved = true;
			return saved;
		}catch (Exception ex){
			throw ex;
		}
	}
	
	public Categoria obtener(int idCategoria) throws DAOExcepcion {
	CategoriaDAO dao = new CategoriaDAO();
	return dao.obtener(idCategoria);
	}
	public Collection<Categoria> listar() throws DAOExcepcion {
	CategoriaDAO dao = new CategoriaDAO();
	return dao.listar();
	}


	
}
